//
//  JavaSimpleDateFormat.h
//
//  Created by GaoShin on 2020/11/11.
//

#import <Foundation/Foundation.h>
#import "JavaDate.h"

NS_ASSUME_NONNULL_BEGIN

@interface JavaSimpleDateFormat : NSObject

- (instancetype) initWithDatePattern:(NSString * _Nonnull) pattern;
- (instancetype) initWithDatePattern:(NSString * _Nonnull) pattern localeString:(NSString *) locale;
- (instancetype) initWithDatePattern:(NSString * _Nonnull) pattern withLocale:(NSLocale *) locale;
- (instancetype) initWithDatePattern:(NSString * _Nonnull) pattern withLocale:(NSLocale *) locale timeZone:(NSTimeZone *) timeZone;

- (NSString * _Nonnull) format:(JavaDate *) date;
- (NSString * _Nonnull) formatNSDate:(NSDate *) date;
- (JavaDate *) parse:(NSString * _Nonnull) formattedDateString;

- (NSString * _Nonnull) getDatePattern;
- (void) setDatePattern:(NSString *) pattern;

-(NSLocale * _Nonnull) getNSLocale;
-(NSTimeZone * _Nonnull) getNSTimeZone;

-(void) setNSLocale:(NSLocale *) locale;
-(void) setNSTimeZone:(NSTimeZone *) timeZone;
@end

NS_ASSUME_NONNULL_END
